package com.study.system.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.study.system.common.model.Option;
import com.study.system.model.entity.SysRole;
import com.study.system.model.form.RoleForm;
import com.study.system.model.query.RolePageQuery;
import com.study.system.model.vo.RolePageVO;

import java.util.List;
import java.util.Set;


public interface SysRoleService extends IService<SysRole> {


    Page<RolePageVO> getRolePage(RolePageQuery queryParams);



    List<Option> listRoleOptions();


    boolean saveRole(RoleForm roleForm);


    RoleForm getRoleForm(Long roleId);


    boolean updateRoleStatus(Long roleId, Integer status);


    boolean deleteRoles(String ids);



    List<Long> getRoleMenuIds(Long roleId);



    boolean updateRoleMenus(Long roleId, List<Long> menuIds);


    Integer getMaximumDataScope(Set<String> roles);


}
